1. Field of the Invention
The invention relates to the programming of portable data carriers and to the execution of programs by portable data carriers. A portable data carrier within the meaning of the present document may be, in particular, a chip card (smart card), in various designs, or a chip module.
2. Description of the Related Art
Portable data carriers, as they are in common use today, have a processor core and a plurality of memories produced in different technologies. In a typical configuration, for example, a mask-programmed ROM, an electrically erasable and programmable EEPROM and a writeable RAM are provided. The RAM serves as a working memory during the running of the program, while the program code to be executed by the processor core can be stored in the ROM and/or in the EEPROM. These and similar designs of data carriers are described in section 3.4 of the book “Handbuch der Chipkarten” by W. Rankl and W. Effing, Hanser Verlag, third edition 1999.
Typically, a memory cell in the EEPROM occupies approximately four times the chip area of a ROM memory cell. In order to save chip area, or to achieve greater available memory capacity with the same area, it is therefore desirable for the executable program code to be accommodated as extensively as possible in the ROM. However, it is necessary that the content of the mask-programmed ROM is unalterably defined for large numbers of data carriers as early as during the production stage of the mask-programmed ROM. Writing into the EEPROM, by contrast, is performed only upon the completion and initialisation of a series of data carriers, or when the individual data carriers are personalised. Due to the greater flexibility, therefore, it is advantageous for the executable program code to be stored as extensively as possible in the EEPROM. This applies both to the programming of smaller production volumes of data carriers and to the correction of faults and the introduction of additional functions in the case of large-volume production.